package com.shengyin.ec.service.order;

import java.util.ArrayList;
import java.util.List;

import com.shengyin.ec.model.entity.OrderItem;
import com.shengyin.ec.model.entity.Orders;
import com.shengyin.ec.controller.account.ShowUserOrderParam;

public interface OrderService {

	public List<Orders> getOrderList();
	
	public void createOrder(Orders order);
	
	public void removeOrderById(long id);
	
	public Orders getOrder(long id);
	
	public void modifyOrder(Orders order);
	
	public String generateOrderId();
	
	//add by lcl 2012-3-14
	public List<Orders> getOrderListById(long id);
	
	public List<Orders> getOrderListById(String id);
	
	public void deleteSelectedOrders(String []ids);

	public void updateState(Orders order);
	
	public void deleteRelateOrder(String orderId);
	
	//add by lcl 2012-09-06
	public List<Orders> getOrdersByUserId(long id); 
	
	public void createOrder(Orders order,ArrayList<OrderItem> orderDetailList);
	
	//orders about cluster
	public List<Orders> getClusterCompanyOrdersList(long clusterCompanyid,int offset,int pageSize);
	
	public List<Orders> getClusterCompanyOrdersList(long clusterCompanyid);
	
	public List<Orders> getOrderByOrderId(String orderId,int offset,int pageSize);
	
	public List<Orders> getOrderByOrderId(String orderId);
	
	public List<Orders> getOrderByStat(String[] paramValues,int offset,int pageSize);
	
	public List<Orders> getOrderByStat(String[] paramValues);
	
    public List<Orders> getOrderByDate(String[] paramValues,int offset,int pageSize);
	
	public List<Orders> getOrderByDate(String[] paramValues);
	
	//orders about shengyin
	
	public List<Orders> getAllOrder(int type,int offset,int pageSize);
	
	public List<Orders> getAllOrder(int type);
	
	public List<Orders> getOrderByStat(String orderStat,int offset,int pageSize);
	
	public List<Orders> getOrderByStat(String orderStat);
	
	public List<Orders> getOrderByDate(String date,int offset ,int pageSize);
	
	public List<Orders> getOrderByDate(String date);
}
